With development of Internet technologies and gradual expansion of a network video market, more users can obtain network video services. However, an increase in network video users leads to a sharp increase in network video traffic. The sharply increasing network video traffic occupies a large number of network resources. For example, during a peak period, a majority of network bandwidth in North America is occupied by the network video traffic, and metropolitan area networks, backbone networks, and network devices such as network routers are under great operation pressure. Meanwhile, the sharply increasing network video traffic compromises user experience of an existing network video. Especially during the peak period, users often encounter problems such as intermittent stop and artifacts when watching a video.
A rough procedure of a method for deploying a buffer in a network to assist in network video transmission is as follows: a buffer near a user is used to buffer a video resource, and a network router receives a video request sent by the user, re-encapsulates the video request, and then sends the re-encapsulated video request to the buffer; after decapsulating the video request, the buffer obtains the video resource according to a packet obtained by the decapsulation; if the buffer has buffered the video resource requested by the user, the buffer immediately responds to the user and sends the video resource; if the buffer has not buffered the video resource requested by the user, the buffer connects to a video server, downloads the video resource, and then provides the video resource for the user.
In a process of implementing the present invention, the inventor finds that at least the following problems exist in the prior art: In the process of processing the video request, data processing costs of the network router and the buffer are high; when the buffer has not buffered the video resource requested by the user, the buffer needs to connect to the video server and obtain the video resource, during which a terminal device needs to wait for a long time and user experience is inferior.